﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface ICurve
   </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface ICurve
   ">
    <meta name="generator" content="docfx 2.56.4.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../logo.svg" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="CADability.GeoObject.ICurve">
  
  
  <h1 id="CADability_GeoObject_ICurve" data-uid="CADability.GeoObject.ICurve" class="text-break">Interface ICurve
  </h1>
  <div class="markdown level0 summary"><p>Interface implemented by one-dimensional geometric objects (eg. line, circle, bspline etc.).
The curve may be open or closed.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="CADability.GeoObject.html">CADability.GeoObject</a></h6>
  <h6><strong>Assembly</strong>: CADability.dll</h6>
  <h5 id="CADability_GeoObject_ICurve_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface ICurve</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_Description.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.Description%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L233">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_Description_" data-uid="CADability.GeoObject.ICurve.Description*"></a>
  <h4 id="CADability_GeoObject_ICurve_Description" data-uid="CADability.GeoObject.ICurve.Description">Description</h4>
  <div class="markdown level1 summary"><p>Returns a description of the curve, used in labels of the controlcenter.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">string Description { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_EndDirection.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.EndDirection%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L102">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_EndDirection_" data-uid="CADability.GeoObject.ICurve.EndDirection*"></a>
  <h4 id="CADability_GeoObject_ICurve_EndDirection" data-uid="CADability.GeoObject.ICurve.EndDirection">EndDirection</h4>
  <div class="markdown level1 summary"><p>The direction of the curve at the endpoint. If the curve is closed, this is the direction where
the parameter is 1.0.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoVector EndDirection { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_EndPoint.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.EndPoint%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L92">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_EndPoint_" data-uid="CADability.GeoObject.ICurve.EndPoint*"></a>
  <h4 id="CADability_GeoObject_ICurve_EndPoint" data-uid="CADability.GeoObject.ICurve.EndPoint">EndPoint</h4>
  <div class="markdown level1 summary"><p>The endpoint of the curve. If the curve is closed, this is the point where
the parameter is 1.0.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoPoint EndPoint { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_IsClosed.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.IsClosed%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L175">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_IsClosed_" data-uid="CADability.GeoObject.ICurve.IsClosed*"></a>
  <h4 id="CADability_GeoObject_ICurve_IsClosed" data-uid="CADability.GeoObject.ICurve.IsClosed">IsClosed</h4>
  <div class="markdown level1 summary"><p>Determines, whether the curve is closed or open.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsClosed { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_IsComposed.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.IsComposed%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L237">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_IsComposed_" data-uid="CADability.GeoObject.ICurve.IsComposed*"></a>
  <h4 id="CADability_GeoObject_ICurve_IsComposed" data-uid="CADability.GeoObject.ICurve.IsComposed">IsComposed</h4>
  <div class="markdown level1 summary"><p>Returns true, if the curve is composed of other curves. <a class="xref" href="CADability.GeoObject.Path.html">Path</a>s and <a class="xref" href="CADability.GeoObject.Polyline.html">Polyline</a>s are composed curves.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsComposed { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_IsSingular.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.IsSingular%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L179">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_IsSingular_" data-uid="CADability.GeoObject.ICurve.IsSingular*"></a>
  <h4 id="CADability_GeoObject_ICurve_IsSingular" data-uid="CADability.GeoObject.ICurve.IsSingular">IsSingular</h4>
  <div class="markdown level1 summary"><p>Determines, whether this curve is singular, i.e. it is only a point, returns the same value for each parameter</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsSingular { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_Length.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.Length%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L157">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_Length_" data-uid="CADability.GeoObject.ICurve.Length*"></a>
  <h4 id="CADability_GeoObject_ICurve_Length" data-uid="CADability.GeoObject.ICurve.Length">Length</h4>
  <div class="markdown level1 summary"><p>Returns the length of the curve.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double Length { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_StartDirection.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.StartDirection%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L97">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_StartDirection_" data-uid="CADability.GeoObject.ICurve.StartDirection*"></a>
  <h4 id="CADability_GeoObject_ICurve_StartDirection" data-uid="CADability.GeoObject.ICurve.StartDirection">StartDirection</h4>
  <div class="markdown level1 summary"><p>The direction of the curve at the start-point. If the curve is closed, this is the direction where
the parameter is 0.0.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoVector StartDirection { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_StartPoint.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.StartPoint%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L87">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_StartPoint_" data-uid="CADability.GeoObject.ICurve.StartPoint*"></a>
  <h4 id="CADability_GeoObject_ICurve_StartPoint" data-uid="CADability.GeoObject.ICurve.StartPoint">StartPoint</h4>
  <div class="markdown level1 summary"><p>The start-point of the curve. If the curve is closed, this is the point where
the parameter is 0.0.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoPoint StartPoint { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_SubCurves.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.SubCurves%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L241">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_SubCurves_" data-uid="CADability.GeoObject.ICurve.SubCurves*"></a>
  <h4 id="CADability_GeoObject_ICurve_SubCurves" data-uid="CADability.GeoObject.ICurve.SubCurves">SubCurves</h4>
  <div class="markdown level1 summary"><p>Returns subcurves of composed curves. <a class="xref" href="CADability.GeoObject.Path.html">Path</a>s and <a class="xref" href="CADability.GeoObject.Polyline.html">Polyline</a>s are composed curves.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve[] SubCurves { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_Approximate_System_Boolean_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.Approximate(System.Boolean%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L249">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_Approximate_" data-uid="CADability.GeoObject.ICurve.Approximate*"></a>
  <h4 id="CADability_GeoObject_ICurve_Approximate_System_Boolean_System_Double_" data-uid="CADability.GeoObject.ICurve.Approximate(System.Boolean,System.Double)">Approximate(Boolean, Double)</h4>
  <div class="markdown level1 summary"><p>Returns a <a class="xref" href="CADability.GeoObject.Path.html">Path</a> or a <a class="xref" href="CADability.GeoObject.Polyline.html">Polyline</a> that approximates the curve with lines
or lines and arcs.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve Approximate(bool linesOnly, double maxError)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">linesOnly</span></td>
        <td><p>true: no arcs, only lines</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">maxError</span></td>
        <td><p>Maximum derivation from the exact curve</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td><p>The Approximation</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_Clone.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.Clone%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L196">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_Clone_" data-uid="CADability.GeoObject.ICurve.Clone*"></a>
  <h4 id="CADability_GeoObject_ICurve_Clone" data-uid="CADability.GeoObject.ICurve.Clone">Clone()</h4>
  <div class="markdown level1 summary"><p>Returns an identical copy of this curve</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve Clone()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_CloneModified_CADability_ModOp_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.CloneModified(CADability.ModOp)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L202">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_CloneModified_" data-uid="CADability.GeoObject.ICurve.CloneModified*"></a>
  <h4 id="CADability_GeoObject_ICurve_CloneModified_CADability_ModOp_" data-uid="CADability.GeoObject.ICurve.CloneModified(CADability.ModOp)">CloneModified(ModOp)</h4>
  <div class="markdown level1 summary"><p>Returns a modified copy of this curve</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve CloneModified(ModOp m)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.ModOp.html">ModOp</a></td>
        <td><span class="parametername">m</span></td>
        <td><p>modification</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td><p>modified copy</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_DirectionAt_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.DirectionAt(System.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L110">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_DirectionAt_" data-uid="CADability.GeoObject.ICurve.DirectionAt*"></a>
  <h4 id="CADability_GeoObject_ICurve_DirectionAt_System_Double_" data-uid="CADability.GeoObject.ICurve.DirectionAt(System.Double)">DirectionAt(Double)</h4>
  <div class="markdown level1 summary"><p>Returns the direction of the curve at a specified point. The parameter prosition of the start-point
is 0.0, the parameter position of the endpoint is 1.0. Directions of a position outside
this interval may be undefined.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoVector DirectionAt(double Position)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">Position</span></td>
        <td><p>Position on the curve</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><p>The requested direction</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_DistanceTo_CADability_GeoPoint_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.DistanceTo(CADability.GeoPoint)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L307">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_DistanceTo_" data-uid="CADability.GeoObject.ICurve.DistanceTo*"></a>
  <h4 id="CADability_GeoObject_ICurve_DistanceTo_CADability_GeoPoint_" data-uid="CADability.GeoObject.ICurve.DistanceTo(CADability.GeoPoint)">DistanceTo(GeoPoint)</h4>
  <div class="markdown level1 summary"><p>Returns the minimal distance of point p to the curve.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double DistanceTo(GeoPoint p)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">p</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_GetExtent.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.GetExtent%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L275">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_GetExtent_" data-uid="CADability.GeoObject.ICurve.GetExtent*"></a>
  <h4 id="CADability_GeoObject_ICurve_GetExtent" data-uid="CADability.GeoObject.ICurve.GetExtent">GetExtent()</h4>
  <div class="markdown level1 summary"><p>Returns the bounging cube for this curve</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">BoundingCube GetExtent()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><p>The cube bounding this curve</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_GetExtrema_CADability_GeoVector_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.GetExtrema(CADability.GeoVector)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L295">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_GetExtrema_" data-uid="CADability.GeoObject.ICurve.GetExtrema*"></a>
  <h4 id="CADability_GeoObject_ICurve_GetExtrema_CADability_GeoVector_" data-uid="CADability.GeoObject.ICurve.GetExtrema(CADability.GeoVector)">GetExtrema(GeoVector)</h4>
  <div class="markdown level1 summary"><p>Returns points of the curve (parameter values between 0.0 and 1.0) where the curve is tangential to
a plane defined by the normal vector <code data-dev-comment-type="paramref" class="paramref">direction</code>. These points are minima or maxima in that
direction.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double[] GetExtrema(GeoVector direction)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">direction</span></td>
        <td><p>Direction for the extrema</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td><p>Positions of the extrema, if any</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_GetPlanarState.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.GetPlanarState%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L210">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_GetPlanarState_" data-uid="CADability.GeoObject.ICurve.GetPlanarState*"></a>
  <h4 id="CADability_GeoObject_ICurve_GetPlanarState" data-uid="CADability.GeoObject.ICurve.GetPlanarState">GetPlanarState()</h4>
  <div class="markdown level1 summary"><p>Determins the state of the curve in space. A curve may be either
Planar (e.g. a cicle), NonPlanar (e.g. a polyline with vertices that
dont shear a common plane) or UnderDetermined (e.g. a line defines a
sheaf of planes (Ebenenbüschel))</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">PlanarState GetPlanarState()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.PlanarState.html">PlanarState</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_GetPlane.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.GetPlane%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L216">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_GetPlane_" data-uid="CADability.GeoObject.ICurve.GetPlane*"></a>
  <h4 id="CADability_GeoObject_ICurve_GetPlane" data-uid="CADability.GeoObject.ICurve.GetPlane">GetPlane()</h4>
  <div class="markdown level1 summary"><p>Determins the plane in which the curve resides. Throws CurveException if
the curve's PlanarState is NonPlanar or UnderDetermined.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Plane GetPlane()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Plane.html">Plane</a></td>
        <td><p>The plane</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_GetPlaneIntersection_CADability_Plane_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.GetPlaneIntersection(CADability.Plane)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L301">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_GetPlaneIntersection_" data-uid="CADability.GeoObject.ICurve.GetPlaneIntersection*"></a>
  <h4 id="CADability_GeoObject_ICurve_GetPlaneIntersection_CADability_Plane_" data-uid="CADability.GeoObject.ICurve.GetPlaneIntersection(CADability.Plane)">GetPlaneIntersection(Plane)</h4>
  <div class="markdown level1 summary"><p>Returns the parameters of the intersection points with the provided plane</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double[] GetPlaneIntersection(Plane plane)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Plane.html">Plane</a></td>
        <td><span class="parametername">plane</span></td>
        <td><p>To intersect with</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td><p>Intersection parameters, may be empty</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_GetProjectedCurve_CADability_Plane_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.GetProjectedCurve(CADability.Plane)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L229">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_GetProjectedCurve_" data-uid="CADability.GeoObject.ICurve.GetProjectedCurve*"></a>
  <h4 id="CADability_GeoObject_ICurve_GetProjectedCurve_CADability_Plane_" data-uid="CADability.GeoObject.ICurve.GetProjectedCurve(CADability.Plane)">GetProjectedCurve(Plane)</h4>
  <div class="markdown level1 summary"><p>Orthogonally projects this curve into the given plane. Returns
the 2D curve in the coordinate system of the given plane.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve2D GetProjectedCurve(Plane p)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Plane.html">Plane</a></td>
        <td><span class="parametername">p</span></td>
        <td><p>The plane this curve will be projected on</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Curve2D.ICurve2D.html">ICurve2D</a></td>
        <td><p>The 2D curve in the given plane</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_GetSavePositions.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.GetSavePositions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L287">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_GetSavePositions_" data-uid="CADability.GeoObject.ICurve.GetSavePositions*"></a>
  <h4 id="CADability_GeoObject_ICurve_GetSavePositions" data-uid="CADability.GeoObject.ICurve.GetSavePositions">GetSavePositions()</h4>
  <div class="markdown level1 summary"><p>Returns some positions (parameter values between 0.0 and 1.0) that can savely be used for Approximation purposes
Usually not used by external applications</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double[] GetSavePositions()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_GetSelfIntersections.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.GetSelfIntersections%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L263">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_GetSelfIntersections_" data-uid="CADability.GeoObject.ICurve.GetSelfIntersections*"></a>
  <h4 id="CADability_GeoObject_ICurve_GetSelfIntersections" data-uid="CADability.GeoObject.ICurve.GetSelfIntersections">GetSelfIntersections()</h4>
  <div class="markdown level1 summary"><p>Returns the self intersection position of this curve. The returned array contains pairs of parameter values.
Each intersectionpoint corresponds to two parameters.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double[] GetSelfIntersections()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td><p>Parameters of the intersection points</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_HitTest_CADability_BoundingCube_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.HitTest(CADability.BoundingCube)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L281">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_HitTest_" data-uid="CADability.GeoObject.ICurve.HitTest*"></a>
  <h4 id="CADability_GeoObject_ICurve_HitTest_CADability_BoundingCube_" data-uid="CADability.GeoObject.ICurve.HitTest(CADability.BoundingCube)">HitTest(BoundingCube)</h4>
  <div class="markdown level1 summary"><p>Determins whether this curve interferes with the provided cube.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool HitTest(BoundingCube cube)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><span class="parametername">cube</span></td>
        <td><p>Cube to check interference with</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True, if curve and cube interfere</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_IsInPlane_CADability_Plane_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.IsInPlane(CADability.Plane)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L222">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_IsInPlane_" data-uid="CADability.GeoObject.ICurve.IsInPlane*"></a>
  <h4 id="CADability_GeoObject_ICurve_IsInPlane_CADability_Plane_" data-uid="CADability.GeoObject.ICurve.IsInPlane(CADability.Plane)">IsInPlane(Plane)</h4>
  <div class="markdown level1 summary"><p>Determines whether the curve resides in the given plane.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsInPlane(Plane p)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Plane.html">Plane</a></td>
        <td><span class="parametername">p</span></td>
        <td><p>The plane for the test</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>true, when the curve resides in the plane</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_ParameterToPosition_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.ParameterToPosition(System.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L323">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_ParameterToPosition_" data-uid="CADability.GeoObject.ICurve.ParameterToPosition*"></a>
  <h4 id="CADability_GeoObject_ICurve_ParameterToPosition_System_Double_" data-uid="CADability.GeoObject.ICurve.ParameterToPosition(System.Double)">ParameterToPosition(Double)</h4>
  <div class="markdown level1 summary"><p>convert the parameter, which is in a natural system (0..2*pi for circle, first knot to last knot for bspline) to the 0..1 normalized position</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double ParameterToPosition(double parameter)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">parameter</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><p>the position, 0..1 when inside the bounds</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_PointAt_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.PointAt(System.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L119">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_PointAt_" data-uid="CADability.GeoObject.ICurve.PointAt*"></a>
  <h4 id="CADability_GeoObject_ICurve_PointAt_System_Double_" data-uid="CADability.GeoObject.ICurve.PointAt(System.Double)">PointAt(Double)</h4>
  <div class="markdown level1 summary"><p>Returns the point of the given position. The parameter prosition of the start-point
is 0.0, the parameter position of the endpoint is 1.0. Points of a position outside
this interval may be undefined. The correlatioon between the parameter Position and the
resulting point may be not linear.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoPoint PointAt(double Position)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">Position</span></td>
        <td><p>Position on the curve</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><p>The requested point</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_PositionAtLength_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.PositionAtLength(System.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L127">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_PositionAtLength_" data-uid="CADability.GeoObject.ICurve.PositionAtLength*"></a>
  <h4 id="CADability_GeoObject_ICurve_PositionAtLength_System_Double_" data-uid="CADability.GeoObject.ICurve.PositionAtLength(System.Double)">PositionAtLength(Double)</h4>
  <div class="markdown level1 summary"><p>Returns the parameter of the point at the given position. The position must be in the interval [0, Length].
The correlatioon between the parameter Position and the
resulting position is linear. The result is usually used for <a class="xref" href="CADability.GeoObject.ICurve.html#CADability_GeoObject_ICurve_PointAt_System_Double_">PointAt(Double)</a> or <a class="xref" href="CADability.GeoObject.ICurve.html#CADability_GeoObject_ICurve_DirectionAt_System_Double_">DirectionAt(Double)</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double PositionAtLength(double position)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">position</span></td>
        <td><p>Position on the curve</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><p>The requested position</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_PositionOf_CADability_GeoPoint_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.PositionOf(CADability.GeoPoint)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L136">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_PositionOf_" data-uid="CADability.GeoObject.ICurve.PositionOf*"></a>
  <h4 id="CADability_GeoObject_ICurve_PositionOf_CADability_GeoPoint_" data-uid="CADability.GeoObject.ICurve.PositionOf(CADability.GeoPoint)">PositionOf(GeoPoint)</h4>
  <div class="markdown level1 summary"><p>Returns the parametric position of the point on the curve. This function is invers to
<a class="xref" href="CADability.GeoObject.ICurve.html#CADability_GeoObject_ICurve_DirectionAt_System_Double_">DirectionAt(Double)</a>. If the given point is not on the curve, the result is the
position of a point on the curve, that is close to the given point, but not necessary
of the closest point.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double PositionOf(GeoPoint p)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">p</span></td>
        <td><p>Point, whos position is requested</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><p>the requested position</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_PositionOf_CADability_GeoPoint_CADability_Plane_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.PositionOf(CADability.GeoPoint%2CCADability.Plane)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L153">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_PositionOf_" data-uid="CADability.GeoObject.ICurve.PositionOf*"></a>
  <h4 id="CADability_GeoObject_ICurve_PositionOf_CADability_GeoPoint_CADability_Plane_" data-uid="CADability.GeoObject.ICurve.PositionOf(CADability.GeoPoint,CADability.Plane)">PositionOf(GeoPoint, Plane)</h4>
  <div class="markdown level1 summary"><p>Similar to the <a class="xref" href="CADability.GeoObject.ICurve.html#CADability_GeoObject_ICurve_PointAt_System_Double_">PointAt(Double)</a> method. Returns the same result, if the point
is on the curve. If the point is not on the curve the problem is looked at in the given plane.
i.e. the closest point on the projected 2d curve from the projected 2d point is used.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double PositionOf(GeoPoint p, Plane pl)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">p</span></td>
        <td><p>Point, whos position is requested</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.Plane.html">Plane</a></td>
        <td><span class="parametername">pl</span></td>
        <td><p>Plane for the computation of the closest point</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><p>the requested position</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_PositionOf_CADability_GeoPoint_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.PositionOf(CADability.GeoPoint%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L144">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_PositionOf_" data-uid="CADability.GeoObject.ICurve.PositionOf*"></a>
  <h4 id="CADability_GeoObject_ICurve_PositionOf_CADability_GeoPoint_System_Double_" data-uid="CADability.GeoObject.ICurve.PositionOf(CADability.GeoPoint,System.Double)">PositionOf(GeoPoint, Double)</h4>
  <div class="markdown level1 summary"><p>Similar to <a class="xref" href="CADability.GeoObject.ICurve.html#CADability_GeoObject_ICurve_PositionOf_CADability_GeoPoint_">PositionOf(GeoPoint)</a>. If the point is not on the curve and there are several
solutions then the solution closest to the parameter prefer will be returned.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double PositionOf(GeoPoint p, double prefer)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">p</span></td>
        <td><p>Point, whos position is requested</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">prefer</span></td>
        <td><p>preferable solution close to this value</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><p>the requested position</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_PositionToParameter_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.PositionToParameter(System.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L329">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_PositionToParameter_" data-uid="CADability.GeoObject.ICurve.PositionToParameter*"></a>
  <h4 id="CADability_GeoObject_ICurve_PositionToParameter_System_Double_" data-uid="CADability.GeoObject.ICurve.PositionToParameter(System.Double)">PositionToParameter(Double)</h4>
  <div class="markdown level1 summary"><p>convert the position (which is in the 0..1 interval) to the natural parameter value</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double PositionToParameter(double position)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">position</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_Reverse.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.Reverse%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L183">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_Reverse_" data-uid="CADability.GeoObject.ICurve.Reverse*"></a>
  <h4 id="CADability_GeoObject_ICurve_Reverse" data-uid="CADability.GeoObject.ICurve.Reverse">Reverse()</h4>
  <div class="markdown level1 summary"><p>Reverses the direction of the curve.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Reverse()</code></pre>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_SameGeometry_CADability_GeoObject_ICurve_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.SameGeometry(CADability.GeoObject.ICurve%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L270">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_SameGeometry_" data-uid="CADability.GeoObject.ICurve.SameGeometry*"></a>
  <h4 id="CADability_GeoObject_ICurve_SameGeometry_CADability_GeoObject_ICurve_System_Double_" data-uid="CADability.GeoObject.ICurve.SameGeometry(CADability.GeoObject.ICurve,System.Double)">SameGeometry(ICurve, Double)</h4>
  <div class="markdown level1 summary"><p>Returns true, if this curve and the provided curve describe the same curve in space (maybe opposite direction)</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool SameGeometry(ICurve other, double precision)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td><span class="parametername">other</span></td>
        <td><p>The curve to be compared with</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">precision</span></td>
        <td><p>The required precision</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>true, if geometrically equal</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_Split_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.Split(System.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L164">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_Split_" data-uid="CADability.GeoObject.ICurve.Split*"></a>
  <h4 id="CADability_GeoObject_ICurve_Split_System_Double_" data-uid="CADability.GeoObject.ICurve.Split(System.Double)">Split(Double)</h4>
  <div class="markdown level1 summary"><p>Splits the curve at the given position. The position must be in the interval 0..1
and the curve must not be closed. For closed curves <a class="xref" href="CADability.GeoObject.ICurve.html#CADability_GeoObject_ICurve_Split_System_Double_System_Double_">Split(Double, Double)</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve[] Split(double Position)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">Position</span></td>
        <td><p>Where to split</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a>[]</td>
        <td><p>the splitted curve(s)</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_Split_System_Double_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.Split(System.Double%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L171">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_Split_" data-uid="CADability.GeoObject.ICurve.Split*"></a>
  <h4 id="CADability_GeoObject_ICurve_Split_System_Double_System_Double_" data-uid="CADability.GeoObject.ICurve.Split(System.Double,System.Double)">Split(Double, Double)</h4>
  <div class="markdown level1 summary"><p>Splits the closed curve into two open curves at the given positions.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve[] Split(double Position1, double Position2)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">Position1</span></td>
        <td><p>first Position</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">Position2</span></td>
        <td><p>second Position</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a>[]</td>
        <td><p>the splitted curve(s)</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_TangentPosition_CADability_GeoVector_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.TangentPosition(CADability.GeoVector)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L257">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_TangentPosition_" data-uid="CADability.GeoObject.ICurve.TangentPosition*"></a>
  <h4 id="CADability_GeoObject_ICurve_TangentPosition_CADability_GeoVector_" data-uid="CADability.GeoObject.ICurve.TangentPosition(CADability.GeoVector)">TangentPosition(GeoVector)</h4>
  <div class="markdown level1 summary"><p>Returns a list of positions where the curve has the same or opposite direction as the given direction.
Mainly used for visualisation purposes. If there are no such points (which is true in most cases)
An empty array should be returned.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double[] TangentPosition(GeoVector direction)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">direction</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_Trim_System_Double_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.Trim(System.Double%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L191">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_Trim_" data-uid="CADability.GeoObject.ICurve.Trim*"></a>
  <h4 id="CADability_GeoObject_ICurve_Trim_System_Double_System_Double_" data-uid="CADability.GeoObject.ICurve.Trim(System.Double,System.Double)">Trim(Double, Double)</h4>
  <div class="markdown level1 summary"><p>Modifies start and endpoint of this curve. StartPos must be less than EndPos.
if StartPos is less than 0.0 or EndPos greater than 1.0 this only works for lines and
(circular or elliptical) arcs.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Trim(double StartPos, double EndPos)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">StartPos</span></td>
        <td><p>New start position</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">EndPos</span></td>
        <td><p>New end position</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve_TryPointDeriv2At_System_Double_CADability_GeoPoint__CADability_GeoVector__CADability_GeoVector__.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve.TryPointDeriv2At(System.Double%2CCADability.GeoPoint%40%2CCADability.GeoVector%40%2CCADability.GeoVector%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L317">View Source</a>
  </span>
  <a id="CADability_GeoObject_ICurve_TryPointDeriv2At_" data-uid="CADability.GeoObject.ICurve.TryPointDeriv2At*"></a>
  <h4 id="CADability_GeoObject_ICurve_TryPointDeriv2At_System_Double_CADability_GeoPoint__CADability_GeoVector__CADability_GeoVector__" data-uid="CADability.GeoObject.ICurve.TryPointDeriv2At(System.Double,CADability.GeoPoint@,CADability.GeoVector@,CADability.GeoVector@)">TryPointDeriv2At(Double, out GeoPoint, out GeoVector, out GeoVector)</h4>
  <div class="markdown level1 summary"><p>Tries to get the point and the first and second derivative of the curve at the specified position. (0..1)
Some curves do not implement the second derivative and hence will return false.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool TryPointDeriv2At(double position, out GeoPoint point, out GeoVector deriv1, out GeoVector deriv2)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">position</span></td>
        <td><p>Position where to calculate point and derivatives</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">point</span></td>
        <td><p>The point at the required position</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">deriv1</span></td>
        <td><p>The first derivative at the provided parameter</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">deriv2</span></td>
        <td><p>The second derivative at the provided parameter</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ICurve.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ICurve%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Curves.cs/#L81" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            
            <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
